/**
 * 管理员认证路由
 * 处理管理员登录、登出等认证相关请求
 */

const express = require('express');
const router = express.Router();
const { login, logout, refreshToken } = require('../controllers/auth.controller');
const rateLimiter = require('../../middleware/rateLimiter');

/**
 * POST /admin/auth/login
 * 管理员登录接口
 * @param {Object} req.body - 登录信息
 * @param {string} req.body.username - 管理员用户名
 * @param {string} req.body.password - 管理员密码
 */
router.post('/login', rateLimiter(), login);

/**
 * GET /admin/auth/login
 * 管理员登录页面路由
 * 处理前端通过GET方式访问登录页面的请求
 */
router.get('/login', (req, res) => {
    // 返回登录页面所需的基本信息或状态
    res.status(200).json({
        message: '管理员登录页面接口',
        version: '1.0.0',
        timestamp: new Date().toISOString(),
        debugMode: process.env.NODE_ENV !== 'production'
    });
});

/**
 * POST /admin/auth/logout
 * 管理员登出接口
 */
router.post('/logout', rateLimiter(), logout);

/**
 * GET /admin/auth/refresh
 * 刷新管理员认证令牌
 */
router.get('/refresh', rateLimiter(), refreshToken);

module.exports = router;